Skip to content

Fix CI - #3

Merged
its-mash merged 14 commits into
mainfrom
Fix-ci
Feb 3, 2026
Merged

Fix CI#3
its-mash merged 14 commits into
mainfrom
Fix-ci

Conversation

@its-mash

@its-mash its-mash commented Feb 2, 2026

Copy link
Copy Markdown
Member

No description provided.

@its-mash

its-mash commented Feb 2, 2026

Copy link
Copy Markdown
Member Author

/e2e-desktop

- Add EnricoMi/publish-unit-test-result-action for unified test reporting
- Add Codecov integration for TypeScript coverage
- Configure JUnit XML output for Rust (nextest), TypeScript (vitest), and E2E (wdio)
- Add test-report and coverage-report jobs to CI workflow
- Add e2e-report job to e2e-desktop workflow for desktop E2E results
- Fix gnome-keyring unlock for Linux E2E tests (pipe password properly)
- Upload test artifacts (screenshots, videos, reports) on all runs
@github-actions

github-actions Bot commented Feb 2, 2026

Copy link
Copy Markdown
Contributor

Test Results

274 tests   274 ✅  3s ⏱️
  9 suites    0 💤
  2 files      0 ❌

Results for commit 5a6df8d.

@github-actions

github-actions Bot commented Feb 2, 2026

Copy link
Copy Markdown
Contributor

E2E Desktop Test Results

72 tests   64 ✅  3m 13s ⏱️
19 suites   0 💤
 9 files     8 ❌

For more details on these failures, see this check.

Results for commit 5a6df8d.

Mohammod Al Amin Ashik added 5 commits February 2, 2026 15:54
Separate GitHub Check Runs for each test type and OS:
- 🦀 Rust Unit Tests (Linux/Windows/macOS)
- 🔗 Rust Integration Tests (Linux/Windows/macOS)
- 📘 TypeScript Tests
- 🌐 E2E Web Tests
- 🖥️ E2E Desktop Tests (Linux/Windows)

Changes:
- Add separate nextest profiles (ci-unit, ci-integration) for granular JUnit XML
- Replace EnricoMi/publish-unit-test-result-action with dorny/test-reporter@v2
- Each test-reporter call creates its own named Check Run in GitHub
- Upload E2E web test results always (not just on failure)
- Add TIMEOUT constants (5s/15s/30s/60s) for CI-friendly waits
- Add waitForModalClose() to wait for modal overlays to close
- Add safeClick() to ensure clicks aren't intercepted by overlays
- Update all E2E test files to use new helpers
- Increase waitForClickable timeouts from 5s to 15s
- Add waitForModalClose() after install/uninstall/save operations

Fixes flaky tests on Windows CI:
- Element click intercepted by modal backdrop
- Element not displayed after short timeout
- MCP handshake timing issues
- waitForModalClose: Don't fail if modal doesn't close, try Escape key
- server-lifecycle: Use longer timeouts for registry loading (30s)
- server-lifecycle: More lenient assertions for connection status
- comprehensive: Wrap enableServerV2 calls in try-catch (MCP handshake can fail)
- comprehensive: Don't require connected_backends >= 1 (may be 0 on CI)
- featureset: Use direct clicks with Escape key dismissal instead of safeClick

Fixes flaky tests caused by:
- MCP handshake timeouts on Windows CI
- Modal overlays that don't auto-close
- Registry loading slower than expected
- server-lifecycle: Check if Echo Server already installed before trying to install
- featureset: More aggressive modal dismissal (multiple Escape + click outside)
- featureset: Use TIMEOUT.short with force click fallback for navigation

Fixes CI flakiness where:
- Previous test run left server installed
- FeatureSet detail panel blocks sidebar navigation
@its-mash
its-mash force-pushed the Fix-ci branch 2 times, most recently from 2167adc to 82a60d4 Compare February 2, 2026 16:31
- Add data-testid='featureset-panel-close' to X close button
- Add data-testid='featureset-panel-overlay' to backdrop overlay
- Update featureset.wdio.ts to click close button/overlay instead of Escape key

Fixes TC-FS-004 and Cleanup tests failing because panel was blocking navigation
@changeset-bot

changeset-bot Bot commented Feb 3, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 350cc59

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@mcpmux/desktop Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Mohammod Al Amin Ashik added 2 commits February 3, 2026 09:52
The single-instance lock file cleanup was insufficient - the previous
mcpmux app process was still running when the next test worker started.

Changes:
- Kill mcpmux processes using pkill (Linux) or taskkill (Windows)
- Clear single-instance lock file in both beforeSession and afterSession
- Fix APP_DATA_DIR path for Linux (~/.local/share/ instead of LOCALAPPDATA)
- Add small delay after process cleanup to ensure clean state

This should prevent 'Second instance detected' errors between test workers.
@its-mash
its-mash merged commit b2ae1d5 into main Feb 3, 2026
13 checks passed
@its-mash
its-mash deleted the Fix-ci branch February 5, 2026 10:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant